﻿using Photocopy.Business;
using Photocopy.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Photocopy
{
    public partial class ProductDetails : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Session["sanpham"] != null)
                {
                    ProductData pd = new ProductData();
                    ProductRP product = new ProductRP();
                    product = (ProductRP)Session["sanpham"];

                    ProductRP newp = null;

                    //Kiểm tra có giảm giá hay không ? ------------------------------------------------
                    if(pd.CheckSale(product.SanPhamID)==true)
                    {
                        newp = ReturnDiscount(product);
                        dongiagiagiam.Style.Add("display", "block !important");
                    }
                    else
                    {
                        newp = product;
                        dongiakhonggiam.Style.Add("display", "block !important");
                    }

                    //Check còn hàng hay không------------------------------------------------
                    ReturnYesOrNoInStock(newp.SoLuong);

                    //Lấy thông tin chức năng chính của máy-------------------------------------
                    RepeaterMainOption.DataSource = pd.GetEditMainOption(product.SanPhamID);
                    RepeaterMainOption.DataBind();

                    //Thông tin giá , tên , giảm giá ... của sản phẩm -----------------------------
                    decimal DonGia = newp.DonGia;
                    decimal DonGiaMoi = newp.DonGiaMoi;
                    lblTenSanPham.Text = newp.TenSanPham;
                    lblDonGia.Text = String.Format("{0:0,000} ₫", DonGia).Replace(",", ".");
                    lbDonGia.Text = String.Format("{0:0,000} ₫", DonGia).Replace(",", ".");
                    lbDonGiaMoi.Text = String.Format("{0:0,000} ₫", DonGiaMoi).Replace(",", ".");
                    lbGiaGiam.Text = newp.GiaGiam.ToString();
                    
                    // Trả về thông tin sơ lược sản phẩm--------------------------------------------
                    string chuoi = "";
                    chuoi = pd.GetProfileProduct(1);
                    string[] words = chuoi.Split('?');
                    foreach (string word in words)
                    {
                        BulletedList1.Items.Add(word);
                    }
                    //--------------------------------------------------------------------------------

                    
                    //int top = 4;
                    //ViewState["top"] = top;
                    //BindMessage(top);
                }
                else
                {
                    //Trả về trang sản phẩm
                    Response.Redirect("Product.aspx");
                }
            }
        }

        //Hàm trả về giá mới khi có giảm giá -----------------------------------------------------
        public ProductRP ReturnDiscount(ProductRP p)
        {
            p.DonGiaMoi = Math.Round(p.DonGia - ((p.DonGia * p.GiaGiam) / 100), 5);
            return p;
        }

        //Hàm kiểm tra hàng còn trong kho hay ko ?-------------------------------------
        public void ReturnYesOrNoInStock(int soluong)
        {
            if (soluong != 0)
            {
                LBTinhTrang.Text = "Còn hàng";
                LBTinhTrang.CssClass = "conhang";
            }
            else
            {
                LBTinhTrang.Text = "Hết hàng";
                LBTinhTrang.CssClass = "hethang";
            }
        }

        // Hàm lấy thông tin chức năng chi tiết ----------------------------------------------
        protected void ItemDataBound(object sender, RepeaterItemEventArgs args)
        {
            ProductData pd = new ProductData();
            Repeater rptOption = (Repeater)args.Item.FindControl("RepeaterOption");
            Label lbMainOptionID = (Label)args.Item.FindControl("lbMainOptionID");
            rptOption.DataSource = pd.GetEditOption(Int32.Parse(lbMainOptionID.Text));
            rptOption.DataBind();
        }

        // Các hàm xử lý bình luận , nhận xét.
        public void BindMessage(int top)
        {
            int rCount = rowCount();
            if(top >= rCount)
            {
                Button2.Text = "Hết";
            }
            ProductData dp = new ProductData();
            RepDetails.DataSource = dp.GetMessage(1,top);
            RepDetails.DataBind();
        }
        public int rowCount()
        {
            ProductData dp = new ProductData();
            return dp.GetRowMes(1);
        }
        protected void SendMessage(object sender, EventArgs e)
        {
            int sanphamid = 1;
            string name = txtName.Text;
            string content = txtContent.Text;
            DateTime datetime = DateTime.Now;

            ProductData pd = new ProductData();
            pd.SaveMessage(sanphamid, name, content, datetime);
            int top = Convert.ToInt32(ViewState["top"]);
            BindMessage(top);
            txtName.Text = "";
            txtContent.Text = "";
        }
        protected void LoadMore_Click(object sender, EventArgs e)
        {
            int topVal = Convert.ToInt32(ViewState["top"]) + 4;
            BindMessage(topVal);
            ViewState["top"] = topVal;
        }
        


    }
}